From c910a955d17a1fe3442a64105f40fb7faff360d3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Fri, 12 Jan 2018 22:22:51 +0100 Subject: [PATCH] window: Fix tooltip allocation Using get_preferred_size here does not work since it computes the minimum height for the minimum width, but we want to know the minimum height for the current width. --- gtk/gtkwindow.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 910264e139..99d58914ea 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8976,7 +8976,7 @@ gtk_window_move_resize (GtkWindow *window) else { GtkAllocation allocation, clip; - GtkRequisition minsize; + int min_width, min_height; /* Handle any position changes. */ @@ -8986,15 +8986,18 @@ gtk_window_move_resize (GtkWindow *window) new_request.x, new_request.y); } - gtk_widget_get_preferred_size (widget, &minsize, NULL); + gtk_widget_measure (widget, GTK_ORIENTATION_HORIZONTAL, current_height, + &min_width, NULL, NULL, NULL); + gtk_widget_measure (widget, GTK_ORIENTATION_VERTICAL, current_width, + &min_height, NULL, NULL, NULL); /* Our configure request didn't change size, but maybe some of * our child widgets have. Run a size allocate with our current * size to make sure that we re-layout our child widgets. */ allocation.x = 0; allocation.y = 0; - allocation.width = MAX (current_width, minsize.width); - allocation.height = MAX (current_height, minsize.height); + allocation.width = MAX (current_width, min_width); + allocation.height = MAX (current_height, min_height); gtk_widget_size_allocate (widget, &allocation, -1, &clip); } -- 2.30.2